package com.javaspeak.designpatterns.go4.behavioural.iterator;

/**
 * The iterator implementation implements this interface
 *
 * @author John Dickerson
 *
 * @param <E>
 */
public interface SnapshotIterator<E> {

    /**
     * Checks whether there are further values that have not had next() called
     * on.
     *
     * @return true if next() will result in returning another value in the list
     */
    public boolean hasNext();

    /**
     * Returns the next value in the list
     *
     * @return next value in list
     */
    public E next();
}
